# 本单元--->  列表推导式


# 最简形式
# list_val = []
# for i in range(1,6):
#     list_val.append(i**2)
#
# print(list_val)
#
# new_list = [ i ** 2 for i in range(1,6)]
# print(new_list)

# word_list = ['I','love','Python']
# print([i.upper() for i in word_list])
# print([i.title() for i in word_list])

# 过滤条件
# list_val = []
# for i in range(21):
#     if i % 2 == 0:
#         list_val.append(i)
# print(list_val)

# 列表推导式： 使用方法1 ： if写法 在后
# 先执行for i in range(21) ，再执行if i % 2 == 0 判断是否符合，
# 符合的话，最后赋值给i
# new_list = [i for i in range(21) if i % 2 == 0]
# print(new_list)



# names = ['AndyFung','JackMa','BillGates']
# list_val = []
# for i in names:
#     if len(i) < 8:
#         list_val.append(i.lower())
#     else:
#         list_val.append(i.upper())
# print(list_val)
# 等价 使用方法2  ifelse写法 在前
# new_list = [i.lower() if len(i) < 8 else i.upper() for i in names]
# print(new_list)

# for 循环嵌套
list_val = []
for i in '高富帅':
    for j in '白富美':
        list_val.append(i+j)
print(list_val)

# 列表推导式： 等价写法
new_list = [ i+j for i in '高富帅' for j in '白富美' ]
print(new_list)